package cn.yuyiling.jelly.sr.api;


import cn.yuyiling.jelly.sr.mongodb.entity.UserLearningRecord;

import java.util.List;
import java.util.Map;

public interface LearningProgressService {

    /**
     * 记录知识点学习行为
     */
    String recordStudySession(String userId, String knowledgePointId);

    /**
     * 结束知识点学习会话并记录时长
     */
    void endStudySession(String sessionId);

    /**
     * 记录答题结果行为
     */
    String recordAnswerSession(String userId, String answerId);

    /**
     * 结束答题并记录时长
     */
    String recordAnswerResult(String sessionId, int score);


    /**
     * 获取用户每日学习时长（按天聚合）
     */
    Map<String, Integer> getDailyStudyDuration(String userId);

    /**
     * 获取用户每周学习时长（按周聚合）
     */
    Map<String, Integer> getWeeklyStudyDuration(String userId);

    /**
     * 获取用户每月学习时长（按月聚合）
     */
    Map<String, Integer> getMonthlyStudyDuration(String userId);

    List<UserLearningRecord> findByUserId(String userId);
}